raFS

Das Dateisystem raFS erlaubt es, lange Dateinamen zu verwenden und beliebig viele Dateien in Verzeichnissen zu speichern. Gespeicherte Dateien werden auf einem "Host"-Dateisystem, z.B. ADFS, als einzelne Dateien gespeichert.

raFS ist Freeware, geschrieben von Richard Atterer.


Teil I - Anleitung

Teil II - Technische Details (Englisch)


Anmerkungen zu Version 1.15 (14-11-1998)

raFS ist mittlerweile sehr stabil. Trotzdem heißt das nicht, daß man nicht vorsichtig sein sollte, wenn man raFS seine wertvollen Daten anvertraut. Bitte mache von wichtigen Daten, die auf raFS geschrieben werden, immer eine Sicherheitskopie!

Die Möglichkeit, die Korrektheit einer Disk zu überprüfen, ist in V1.14 neu und ist noch als Beta eingestuft. Bitte melde mir eventuell auftretende Bugs!

Wichtige Hinweise zur Benutzung von raFS:

Falls raFS sich falsch verhält und das Problem nicht im Abschnitt "Known problems" beschrieben ist, schreibe mir bitte bitte einen Bug-Report. Beschreibe möglichst genau die Umstände, unter denen raFS Fehlverhalten zeigte. Ist das schon öfters passiert? Bitte gib auch Rechner-Typ, OS-Version und Host-Dateisystem an.

Falls raFS die einzige Kopie deiner Lieblingsdatei überschreibt, sage nicht, ich hätte dich nicht gewarnt...


Einführung

Die Standard-Dateisysteme von Acorn (alle, die FileCore benutzen) schränken die Länge von Dateinamen auf 10 Zeichen und die maximal mögliche Anzahl von Dateien in einem Verzeichnis auf 77 ein, was manchmal ziemlich ärgerlich ist. Deswegen gab es schon mehrere Versuche, FileCore zu umgehen. Viele der entstandenen Programme sind Image-Dateisysteme, die einzelne Dateien auf der Platte so ansprechen, als wären sie Verzeichnisse mit Dateien und weiteren Unterverzeichnissen:

raFS ist weder ein Image-Dateisystem noch ein Hack: Es wurde als "normales" Dateisystem geschrieben. Die Dateien, die man auf raFS speichert, werden nicht in einer großen Datei abgespeichert, sondern als einzelne Dateien innerhalb einer Verzeichnisstruktur abgelegt, die das Programm auf einem anderen Dateisystem erstellt. Damit ist es möglich, die Fähigkeiten dieses Host-Dateisystems zum Verwalten einzelner Dateien vorteilhaft auszunutzen, was viel effektiver ist. Darüber hinaus sind die Chancen besser, seine Daten doch noch zurückzubekommen, falls einmal etwas schiefgehen sollte.

raFS hat folgende Merkmale:

Die Anleitung wurde in zwei Teile aufgeteilt. Dieser erste Teil ist für Anwender gedacht, die raFS im Desktop benutzen wollen, während der zweite (englische) Teil detaillierter auf die Fähigkeiten des Dateisystems eingeht. Es ist nicht notwendig, ihn zu lesen, da die meisten Informationen nur für Fortgeschrittene und Programmierer relevant sind.

Ich hoffe, daß dir dieses Programm nützlich sein wird!

Zurück zum Inhaltsverzeichnis


Benutzung

raFS wird in den Speicher geladen, indem man !raFS oder eine Applikations-Disk (wie das Beispiel !raFSDisc) doppelklickt, und installiert ein Symbol auf der Icon-Bar. Falls du das Programm beim Starten des Rechners automatisch geladen haben willst, kannst du es in dein !Boot.Choices.Boot.PreDesk-Verzeichnis kopieren.

Bevor du loslegst, sollte dir die Weise, auf die raFS seine Disks ablegt, klar sein. Eigentlich ist das Wort "Disk" etwas irreführend - raFS verwendet nämlich kein eigenes Diskettenformat. Dennoch werde ich von "Disks" sprechen, da sie genauso gehandhabt werden wie dies z.B. ADFS mit Disketten tut: Sie können erzeugt, an- und abgemeldet werden, und ihr Name erscheint in Verzeichnisnamen in etwa so: "raFS::DiskName.$. ..." Im Gegensatz zu Image-Dateisystemen werden raFS-Disks nicht in einer einzigen großen Datei, sondern als einzelne Dateien in einem Verzeichnis gespeichert.

raFS kann die Daten, die in seine Disks gespeichert werden, in zweierlei Arten von Verzeichnissen ablegen: Entweder in einem Applikations-Verzeichnis, dessen Namen mit "!" beginnt und das mit einem speziellen Symbol dargestellt wird, oder in einem normalen Verzeichnis, dem man nicht ansieht, daß es sich von anderen unterscheidet, bis man es doppelklickt. Tut man dies und raFS ist geladen, so wird die in dem Verzeichnis gespeicherte raFS-Disk von raFS beim System angemeldet und deren Root-Verzeichnis wird anstelle des Verzeichnisses, das man doppelgeklickt hat, geöffnet.

Ist das Programm nicht geladen, wenn man auf ein normales Verzeichnis mit einer raFS-Disk klickt, oder ist es geladen, aber man drückt beim Klicken die Shift-Taste, dann wird das eigentliche Verzeichnis geöffnet. Es enthält eine Datei mit dem Namen !Atterer (ja, ich weiß, daß ich bescheiden bin, es so zu nennen), eine namens !Mount und ein Verzeichnis A0 mit weiteren Unterverzeichnissen und Dateien mit ähnlichen Namen.

Verändere oder lösche keine dieser Dateien, außer du bist dir deiner Sache sicher!

Es sollte angemerkt werden, daß raFS seine eigenen Verzeichnisse von anderen dadurch unterscheidet, daß es nach der !Mount-Datei sucht und diese lediglich mit Obey ausführt, wenn das Verzeichnis geöffnet werden soll. Die Datei, die normalerweise ausgeführt wird, lädt raFS, falls das noch nicht geschehen ist, deswegen kannst du einfach !Mount doppelklicken, wenn du ein raFS-Verzeichnis öffnen wolltest, aber raFS nicht geladen war. (Zum Ausführen wird Obey und nicht einfach Run genommen, weil der Dateityp von !Mount nicht unbedingt korrekt sein wird - z.B., wenn man einen PC dazu verwendet, eine raFS-Disk auf CD-ROM zu brennen.)

Beim Anmelden einer Disk wird im Ablageverzeichnis eine Datei namens Lock erzeugt, beim Abmelden wird diese wieder gelöscht. Dies dient dazu, zu prüfen, ob in das Ablageverzeichnis geschrieben werden kann, außerdem kann eine Disk, deren Ablageverzeichnis umbenannt wurde, durch den Inhalt der Datei wiedererkannt werden. Ist eine Disk noch nicht angemeldet worden, aber die Lock-Datei trotzdem schon vorhanden, weigert sich raFS entweder, sie anzumelden (z.B. wenn auf sie über ein Netzwerk zugegriffen werden kann und sie schon ein anderer Computer angemeldet hat) oder das Programm gibt nur eine Warnung verbunden mit der Aufforderung aus, die Disk zu prüfen, meldet sie aber trotzdem an (wenn dein Computer abgestürzt ist oder ein Reset stattfand, seit die Disk angemeldet wurde).

Zurück zum Inhaltsverzeichnis

Mit Disks arbeiten

Das Icon-Bar-Menü stellt viele oft benötigte Operationen zur Verfügung. Wenn keine Disks angemeldet sind, sind die Einträge unterhalb der gestrichelten Linie ausgegraut.
  • Mit Schreibschutz kann man Disks vor ungewollten Schreibzugriffen schützen. Wenn von einer Disk lediglich gelesen werden kann, ist ihr Name im Untermenü angewählt. Die Option funktioniert nicht für Disks, die auf DOSFS gespeichert sind, da dieses Dateisystem sich nicht korrekt verhält.
  • Mit Benennen kann man den Namen einer Disk ändern. (Du hattest schon so eine Ahnung in der Richtung, nicht wahr?)
  • Abmelden entfernt die gewählte Disk von der Liste aller Disks, die RiscOS bekannt sind - versucht man anschließend, auf die Disk zuzugreifen, bekommt man den Fehler Disk nicht bekannt. Man kann alle angemeldeten Disks abmelden, indem man "Abmelden" auswählt, ohne in das Untermenü zu gehen.
  • Beim Anwählen eines Disknamens im Prüfen-Untermenü wird die Disk auf Fehler überprüft - siehe unten.
  • "$" öffnen öffnet das Verzeichnis für die angewählte Disk oder auch für alle angemeldeten Disks, wenn man den Menüeintrag im Hauptmenü anwählt.

Wichtig: Falls du einmal ein Ablageverzeichnis verschieben oder die Diskette/Platte umbenennen willst, auf der es gespeichert ist, melde die Disk danach neu an (z.B. indem du sie doppelklickst), damit raFS weiß, wie der neue Name heißt.

[Das Icon-Bar-Menü]

Der Menüeintrag Flush wird normalerweise nicht benötigt. Wenn er angewählt wird, speichert raFS alle geänderten aber noch nicht abgespeicherten Verzeichnisdaten. Man sollte einen Flush des Verzeichnis-Cache durchführen, wenn raFS wegen eines Fehlers daran gehindert wurde, Änderungen automatisch abzuspeichern. (z.B., wenn man auf Abbruch geklickt hat, als man darum gebeten wurde, eine Diskette mit einer raFS-Disk einzulegen.)

Zurück zum Inhaltsverzeichnis

Neue Disks erzeugen

Neue Disks können auf einfache Weise mit dem Fenster erzeugt werden, das geöffnet wird, wenn der Mauszeiger über dem Neue Disk-Menüeintrag nach rechts geführt wird. Mit der "App"-Option oder durch Angabe eines Ablageverzeichnis-Namens, der mit "!" beginnt, wird ausgewählt, ob ein normales oder ein Applikations-Verzeichnis erstellt wird. Nachdem man einen Namen für die neue Disk angegeben hat, wird sie erzeugt, indem das Symbol in ein Verzeichnis gezogen wird. [Das Fenster 'Neue Disk erzeugen']

raFS hat die nützliche Eigenschaft, daß auch eine ganze Festplatte oder Diskette für eine raFS-Disk genutzt werden kann. Wenn man z.B. auf das Symbol des Diskettenlaufwerks klickt, um das Root-Verzeichnis anzeigen zu lassen, sucht das Programm in gleicher Weise nach einer !Mount-Datei wie bei Doppelklicks auf Verzeichnis-Symbole. Will man solch eine Disk erzeugen, muß man den Namen des Root-Verzeichnisses eingeben (z.B. ADFS::HD.$) und, nachdem man noch einen Namen für die Disk gewählt hat, auf Erzeugen klicken.

Zurück zum Inhaltsverzeichnis

Das Einstellungen-Fenster

Durch einen Shift-Spezial-Klick auf raFS' Icon-Bar-Symbol oder durch Anwählen des Menüeintrags Einstellungen... wird das Einstellungen-Fenster geöffnet, in dem man verschiedene Aspekte des Programms verändern kann. Die neuen Werte können auch gespeichert werden.

Beim Starten Disks anmelden: In den Feldern dieses Teils des Fensters können die Namen von bis zu drei Ablageverzeichnissen angegeben werden, indem man die Verzeichnisse auf eines der Felder zieht. Die in den Verzeichnissen gespeicherten Disks werden dann von raFS automatisch jedesmal angemeldet, wenn es geladen wird.

Kommandos bei Klicks auf der Icon-Bar: Hier kann man die Kommandos ändern, die ausgeführt werden, wenn das Icon-Bar-Symbol angeklickt wird, wobei auch beachtet wird, ob Shift oder Ctrl gedrückt ist. Einzelheiten zu den in der Grundeinstellung verwendeten Kommandos findest du hier. In der Grundeinstellung passiert folgendes:

Verzeichnis-Cache: In diesem Teil des Fensters werden die Eigenschaften des Puffers festgelegt, den raFS für Verzeichnisse verwendet, damit Zugriffe schneller werden. Wenn die Daten eines Verzeichnisses geändert werden, z.B. durch Löschen einer Datei, wird dieses abgeänderte Verzeichnis nicht sofort auf das Host-Dateisystem geschrieben, sondern erst verzögert oder nachdem eine bestimmte Anzahl von Änderungen erreicht ist, je nachdem, welches dieser Ereignisse zuerst eintritt.

Hinweis: Da Verzeichnisse erst nach einiger Zeit abgespeichert werden, führt ein Zurücksetzen oder ein Absturz des Rechners unmittelbar nach Veränderungen des Verzeichnisinhalts dazu, daß die abgespeicherten Verzeichnisdaten noch nicht aktualisiert worden sind. Öffnet man das Verzeichnis später wieder, scheinen gelöschte Dateien immer noch zu existieren, während gerade erst gespeicherte nicht erscheinen! Es muß verhindert werden, daß dieser Zustand eintritt, deswegen sollte man das verzögerte Speichern abschalten, wenn man Anwendungen laufen läßt, die häufig abstürzen, vor allem, wenn sie es während Dateizugriffen tun:

Sowohl für das Feld, in dem die Verzögerung in Hundertstelsekunden angegeben wird, als auch das, das die Anzahl der Änderungen enthält, haben die Werte 0 und 1 eine besondere Bedeutung: Durch 0 wird raFS mitgeteilt, daß das automatische Speichern nach einiger Zeit bzw. nach Änderungen komplett abgeschaltet werden soll. (Wenn beide Werte 0 sind, werden Verzeichnisse erst gespeichert, wenn die maximale Cache-Größe erreicht wurde und für weitere Verzeichnisse Platz gemacht wird, sowie beim Abmelden der Disk.) Steht in einem der beiden Felder der Wert 1, werden jegliche Änderungen an den Verzeichnisdaten sofort auf dem Host-Dateisystem gespeichert. (Wenn du dich ein wenig mit *-Kommandos auskennst, kannst du Write-through auf elegantere Weise anschalten, indem du raFS_Unsafe- und raFS_Safe-Kommandos in die !Run-Dateien der Anwendungen einfügst.)

Gemischt: Eine Reihe von Optionen für raFSFiler.

Am unteren Rand des Fensters sind vier Knöpfe: Grundeinstellungen setzt alle Felder des Fensters mit Ausnahme der ersten drei auf die Grundeinstellungen zurück. Mit Speichern werden die aktuellen Einstellungen übernommen und außerdem abgespeichert. Abbruch verwirft eventuelle Änderungen in den Feldern - man kann auch mit Spezial auf den Knopf klicken, um die gerade aktiven Einstellungen wieder in die Felder einzufüllen. Setzen übernimmt die Einstellungen in den Feldern, jedoch gehen diese beim Ausschalten des Rechners verloren. Klickt man auf die letzten drei Knöpfe mit Auswahl, wird das Einstellungen-Fenster geschlossen, mit Spezial bleibt es offen.

Zurück zum Inhaltsverzeichnis


Überprüfen fehlerhafter Disks

Manchmal können raFS-Disks Fehler aufweisen. Meistens ist der Grund hierfür, daß der Computer abstürzte, nachdem Daten gespeichert wurden, aber noch bevor die geänderten Verzeichnisdaten auf das Host-Dateisystem zurückgeschrieben werden konnten. Dies äußert sich dann darin, daß auf einige Dateien nicht mehr zugegriffen werden kann, andere, die kurz vor dem Absturz gespeichert wurden, tauchen nicht im Verzeichnis auf, wieder andere scheinen noch vorhanden zu sein, obwohl sie gelöscht wurden.

Lösche auf einer fehlerhaften Disk keinesfalls die Dateien, die Fehlermeldungen hervorrufen - dadurch könnten die Daten anderer Dateien gelöscht werden!

Das Prüfen der Disk ist ein Mittel, die Fehler zu erkennen und zu reparieren. Um eine Disk zu prüfen, wähle ihren Namen im Prüfen-Untermenü auf der Icon-Bar an (oder benutze das Verify-Kommando). Anstatt auf den Disknamen zu klicken kannst du auch nur den Prüfen-Eintrag selbst anklicken, dann werden automatisch diejenigen Disks geprüft, bei denen vorher Fehler aufgetreten sind. Es werden die Namen der Verzeichnisse ausgedruckt, die gerade durchsucht werden, zusammen mit anderen Meldungen, von denen einige noch einer genaueren Erklärung bedürfen:

Alle unreferenzierten Verzeichnisse und Dateien, die gefunden werden, werden in das Lost+Found-Verzeichnis kopiert, das im Root-Verzeichnis der Disk erzeugt wird.

Zurück zum Inhaltsverzeichnis


Kontakt zum Autor

Falls du mir einen Bug-Report schicken willst, Vorschläge dazu hast, was zukünftige Versionen von raFS unterstützen sollten oder mir nur allgemein sagen willst, wie wundervoll es ist, kannst du mich entweder per Email (bevorzugt) oder auf dem "normalen" Postweg erreichen.

Meine Email-Adresse ist atterer@augsburg.baynet.de (PGP-Schlüssel). Die aktuellste Version von raFS bekommt man auf meiner Homepage, http://home.augsburg.baynet.de/richard.atterer/.

Falls du mir einen Besuch abstatten willst, um mir deine Meinung dazu zu sagen, daß raFS alle deine Dateien gelöscht hat, ist hier die Postadresse:

        Richard Atterer
        Beethovenstraße 30
        86391 Stadtbergen
        Deutschland

Zurück zum Inhaltsverzeichnis


Überblick über die Versionen

Vielen Dank an folgende Leute für Vorschläge und Bug-Reports: Stefan Bellon, Emil Brunavs, Peter Burwood, Nick Clark, Dave Daniels, Justin Fletcher, Mike Gregory, Tony Houghton, Rick Hudson, Hans de Jong, James Larcombe, Vincent Lefevre, Marko Lukat, Robin Moffatt, Jakob Stoklund Olesen, David Pilling, Tim Rowledge, Darren Salt, Reiner Schulz, Dick Tanis, David Thomas, Reuben Thomas, Martin Tillman.

V1.15 (14-11-1998)

V1.14 (15-10-1998) V1.13 (10-05-1998) V1.12 (22-02-1998)

Auf einer Acorn User-Coverdisk veröffentlicht.

V1.11 (14-02-1998) V1.10 (10-01-1998) V1.02 beta (30-11-1997) V1.01 beta (09-11-1997) V1.00 beta (30-10-1997)

Zurück zum Inhaltsverzeichnis


Copyright

Dieses Programm ist Freeware, © Copyright 1997, 1998 von Richard Atterer.

Bei der Verbreitung des Programms darf kein Gewinn gemacht werden - erhobene Gebühren o.ä. dürfen die durch das Verbreiten verursachten Unkosten (z.B. Disketten, Briefmarken) nicht übersteigen. Es müssen stets alle Dateien weitergegeben werden, auch dieser Copyright-Hinweis.

Dieses Programm darf mit jedem anderen Produkt zusammen verbreitet werden, das von diesem Programm abhängt oder durch es verbessert wird, egal ob das Produkt kommerziell oder nicht-kommerziell ist. Es ist nicht nötig, den Autor hierüber zu informieren. Wird das Programm auf diese Weise weiterverbreitet, muß ein Exemplar des Produkts und aller evtl. folgenden Upgrades kostenlos an die o.g. Adresse geschickt werden. (Bitte vor dem Versenden an die Email-Adresse um Erlaubnis fragen.)

Da dieses Programm kostenlos verbreitet wird, existiert keine Garantie für das Programm, soweit dies nicht zwingend durch Gesetze vorgeschrieben ist. Außer bei anderslautender, schriftlicher Erklärung durch den Autor wird dieses Programm durch den Autor ohne jede Garantie zur Verfügung gestellt, weder eine explizite noch eine implizierte wie z.B., aber nicht ausschließlich die implizierte Garantie, daß es für irgendeine Funktion geeignet ist. Das volle Risiko bezüglich Qualität und Funktionstüchtigkeit des Programms liegt beim Benutzer. Sollte sich das Program als fehlerhaft erweisen, verpflichtet sich der Benutzer, sämtliche Kosten für Wartung, Reparatur oder Korrekturen zu übernehmen.

Außer wenn es zwingend durch das Gesetz vorgeschrieben ist oder bei anderslautender, schriftlicher Erklärung des Autors verpflichtet sich der Autor unter keinerlei Umständen dazu, Kosten für entstandene Schäden zu übernehmen, nicht für allgemeine, spezielle, verbundene oder Folgeschäden, die durch die Verwendung des Programms oder der Unfähigkeit, das Programm zu verwenden, verursacht wurden (dies beinhaltet auch den Verlust von Daten oder ihre Unbrauchbarmachung oder Verluste des Benutzers oder dritter Personen oder das Scheitern der Verwendung des Programms zusammen mit anderen Programmen), selbst wenn der Autor über die Möglichkeit solcher Schäden in Kenntnis gesetzt wurde.

Zurück zum Inhaltsverzeichnis